﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.Notification.Tile
{
	/// <summary>
	/// This interface represents a generic tile update.
	/// </summary>
	public interface ITileUpdate
	{
		/// <summary>
		/// A flag weather to add a query string to the image URL
		/// </summary>
		bool AddImageQuery { get; set; }

		/// <summary>
		/// Allows you to specify a particular language, null uses the local language
		/// </summary>
		string Lang { get; set; }

		/// <summary>
		/// Specifies the base URI for the update
		/// </summary>
		string BaseUri { get; set; }

		/// <summary>
		/// Allows you to set a fallback template to use if the main template can't be found
		/// </summary>
		string FallBack { get; set; }

		/// <summary>
		/// This specifies what type of branding to use when you update the tile
		/// </summary>
		NotificationBranding Branding { get; set; }

		string GenerateXML();
	}
}